package com.team2.hospital.config;

import com.team2.hospital.interceptors.JwtInterceptor;
import org.springframework.stereotype.Component;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;

/**
 * InterceptorConfig类用于配置自定义拦截器。
 * 该类实现了WebMvcConfigurer接口，并通过@Component注解使其成为Spring管理的组件。
 * 在这个类中配置了JWT拦截器。
 */
@Component
public class InterceptorConfig implements WebMvcConfigurer {

    /**
     * 配置自定义拦截器。
     *
     * @param registry InterceptorRegistry 用于注册拦截器
     */
    @Override
    public void addInterceptors(InterceptorRegistry registry) {
        // 创建JwtInterceptor拦截器对象
        JwtInterceptor jwtInterceptor = new JwtInterceptor();

        // 注册拦截器，设置拦截的路径和排除的路径
        registry.addInterceptor(jwtInterceptor)
                // 配置需要被拦截的路径
                .addPathPatterns("/666") // 只拦截/666路径
                // 配置不需要被拦截的路径
                .excludePathPatterns("/patient/pdf")  // 排除/patient/pdf路径
                .excludePathPatterns("/**/login");    // 排除所有以/login结尾的路径
    }
}
